1. Field of the Invention
The present invention generally relates to the initialization of memory templates. More specifically, the present invention relates to a system, method and apparatus for using minimal memory bandwidth to initialize memory templates.
2. Discussion of the Related Art
In networking applications, frames of data are sent through a network. A frame is a packet of information that may be transferred on a network, such as a computer network. Each frame typically includes a packet header and a packet payload. The packet header may contain information such as the Internet Protocol (IP) addresses of the source device and the destination device of the frame, as well as port numbers of the source and destination, physical addresses of the source and destination, the application being executed by the source and destination devices (i.e., File Transfer Protocol (FTP), HyperText Transport Protocol (HTTP), etc.), and various other setting information, for example. The packet payload may include data such as a text file or a portion thereof.
Networking applications typically transmit a large number of frames during a given time period. For example, a single networking device may be utilized by several Internet devices each having unique IP and physical addresses. The networking device may create many frames for each of the Internet devices. Each of the frames for the devices may have common elements. For example, in a situation where three computers, A, B and C all utilize the same networking device, and A and B are both HTTP servers, but C is an FTP server, the system may be initially configured to always create a frame where the application is designated as HTTP. However, if the frame is created for C, the application designation has to be changed to FTP. Accordingly, systems typically utilize a frame xe2x80x9ctemplatexe2x80x9d containing default settings for a frame, for example. The template may be stored in a Read Only Memory (ROM), or in a remote section of memory, for example. When a frame is to be created and sent over the network, the networking device copies the template into a memory, such as a Random Access Memory (RAM), for example. The networking device then changes the appropriate template data. For example, if the default application source is HTTP, and if the frame is sent for C, the application source is first changed to FTP. Next, the changed template is utilized to create a frame. When the next frame is to be generated, the entire template is copied back into the RAM, and the process repeats.
However, such a process is very inefficient in situations where large amounts of frames are to be sent over the network. For example, in a situation where a template contains 256 bytes, a 10 Gigabit Ethernet device that supports up to 15 Mega-frames/second may copy over 30 Gigabits in a second from the original template into the template in the RAM. Accordingly, a large amount of the RAM""s bandwidth may be utilized to copy the template into the RAM. Systems in the prior art are therefore inefficient when large amounts of unchanged template data are continually copied from the original template into the memory template.